home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
COMMUNIC
/
H191.ZIP
/
CA29-3.EXE
/
URGENT.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1989-08-10
|
1KB
|
60 lines
; ----- Sound an 'urgent' alarm
; R.McG; 5/89, Chicago
; ----------------------------------------------------------------
; Usages:
; N0-N5 ---> Destroyed
;
; Requires:
; This script does not FCALL any other script
;
; WARNING:
; Modify this script at your own RISK! Playing with machine
; level OUTPUT instructions may be dangerous to you and yours.
;
; This script may be FCALLED
; ----------------------------------------------------------------
; Initialize
;
n2 = 3025 ; Start freq (440hz -> 3025)
N3 = 3025/4 ; End freq (1760hz -> 3025/4)
n4 = 10 ; Step between notes
WOPEN 10,10,12,70 (contrast) Exit
ATSAY 10,12 (contrast) " Urgent "
ATSAY 11,12 (contrast) "Alarm"
ATSAY 12,30 (contrast) " Press ESC to exit "
;
; Initialize timer
; .. (0b6H -> counter 2,load 1 byte at a time,square wave, binary values)
;
output 0x43 0xb6 ; port = 43h
output 0x42 N2\256 ; lsb
output 0x42 N2/256 ; msb
;
; Turn on speaker
;
input n0 0x61 ; Get current value
n1 = n0 ; Save value to restore
n0 = n0|3 ; Turn on speaker
output 0x61 n0 ; Turn speaker on
;
; Now, run the frequency fron N2 (start) to N3 (end)
;
do
FOR N5 = N2-N4,N3,-N4
output 0x43 0xb6 ; port = 43h
output 0x42 N5\256 ; lsb
output 0x42 N5/256 ; msb
ENDFOR
until zero -1
;
; Turn speaker off
;
exit:
output 0x61 n1 ; Restore original value
WCLOSE
if fcalled
freturn
endif
exit